package com.manage.modules.service;

import com.manage.modules.domain.TBaseFault;
import com.manage.modules.dto.TBaseFaultSelectDto;
import com.manage.modules.dto.TBaseFaultSelectReturnDto;
import com.manage.modules.vo.TBaseFaultVo;
import com.manage.modules.bo.TBaseFaultQueryBo;
import com.manage.modules.bo.TBaseFaultAddBo;
import com.manage.modules.bo.TBaseFaultEditBo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Collection;
import java.util.List;

/**
 * 故障信息Service接口
 *
 * @author wx
 * @date 2021-08-18
 */
public interface ITBaseFaultService extends IService<TBaseFault> {

    /**
     * 根据搜索条件搜索查询
     * @param selectDto
     * @return
     */
    List<TBaseFaultSelectReturnDto> queryBySelectDto(TBaseFaultSelectDto selectDto);

    /**
     * 查询单个
     *
     * @return
     */
    TBaseFaultVo queryById(Long faultId);

    /**
     * 查询列表
     */
    List<TBaseFaultVo> queryList(TBaseFaultQueryBo bo);

    /**
     * 根据新增业务对象插入故障信息
     *
     * @param bo 故障信息新增业务对象
     * @return
     */
    Boolean insertByAddBo(TBaseFaultAddBo bo);

    /**
     * 根据编辑业务对象修改故障信息
     *
     * @param bo 故障信息编辑业务对象
     * @return
     */
    Boolean updateByEditBo(TBaseFaultEditBo bo);

    /**
     * 校验并删除数据
     *
     * @param ids     主键集合
     * @param isValid 是否校验,true-删除前校验,false-不校验
     * @return
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}
